revert(release): drop version suffixes and registry channels - #643
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughThe release flow removes automated prerelease suffix calculation, simplifies manifest version bumps, accepts registry tags without a fixed allowlist, restricts workflow choices to ChangesRelease flow simplification
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
skill-check — worker0 verified, 50 skipped (no docs/).
Four for four. Nicely done. |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
.github/scripts/manifest_version.py (1)
34-43: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAdd regression coverage for
noneand prerelease inputs.No test exercises
--kind noneor verifies that0.1.0-alpha.1becomes0.1.1. These are central release-version semantics and could regress without detection.Proposed tests
class TestBumpSubcommand: + def test_bump_none_preserves_manifest(self, cargo_manifest): + before = cargo_manifest.read_text() + r = run_script("bump", str(cargo_manifest), "--kind", "none") + assert r.returncode == 0 + assert r.stdout.strip() == "0.1.0" + assert cargo_manifest.read_text() == before + + def test_bump_prerelease_advances_to_stable(self, tmp_path): + manifest = tmp_path / "Cargo.toml" + manifest.write_text('[package]\nname = "example"\nversion = "0.1.0-alpha.1"\n') + r = run_script("bump", str(manifest), "--kind", "patch") + assert r.returncode == 0 + assert r.stdout.strip() == "0.1.1"🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/scripts/manifest_version.py around lines 34 - 43, Add regression tests for cmd_bump covering --kind none, asserting the manifest version remains unchanged, and prerelease input such as 0.1.0-alpha.1, asserting the resulting version is 0.1.1. Use the existing manifest-version test fixtures and invoke the same command path exercised by cmd_bump.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/_publish-worker-skills.yml:
- Line 11: Update the workflow input description for the registry tag
configuration to remove the obsolete “channel” terminology and describe it
simply as “Registry tag,” while retaining the existing tag examples.
In `@docs/sops/release.md`:
- Around line 37-38: Update the release instructions in docs/sops/release.md to
resolve the mismatch between the Bump table and the later “Bump = none”
procedure: either restore “none” as a supported Bump value or, preferably,
remove and rewrite the stale pre-bumped-manifest steps around the Create Tag
inputs to use only the currently supported patch, minor, and major options.
---
Nitpick comments:
In @.github/scripts/manifest_version.py:
- Around line 34-43: Add regression tests for cmd_bump covering --kind none,
asserting the manifest version remains unchanged, and prerelease input such as
0.1.0-alpha.1, asserting the resulting version is 0.1.1. Use the existing
manifest-version test fixtures and invoke the same command path exercised by
cmd_bump.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 6ff9ca7b-b515-466c-a885-b2b3a95160de
⛔ Files ignored due to path filters (1)
image-resize/Cargo.lockis excluded by!**/*.lock
📒 Files selected for processing (14)
.github/scripts/_lib.py.github/scripts/manifest_version.py.github/scripts/parse_release_tag.py.github/scripts/tests/conftest.py.github/scripts/tests/test_manifest_version.py.github/scripts/tests/test_parse_release_tag.py.github/workflows/_container.yml.github/workflows/_publish-registry.yml.github/workflows/_publish-worker-skills.yml.github/workflows/alpha-release.yml.github/workflows/create-tag.yml.github/workflows/publish-worker-skills.ymldocs/sops/release.mdimage-resize/Cargo.toml
💤 Files with no reviewable changes (6)
- .github/workflows/publish-worker-skills.yml
- .github/workflows/alpha-release.yml
- .github/scripts/tests/conftest.py
- .github/scripts/parse_release_tag.py
- .github/scripts/tests/test_parse_release_tag.py
- .github/scripts/_lib.py
| type: string | ||
| version: | ||
| description: 'Registry channel (latest, next, experimental)' | ||
| description: 'Registry tag channel (latest, next, ...)' |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Remove the obsolete “channel” terminology.
Call this a “Registry tag” to match the other workflows and avoid reintroducing the removed registry-channel concept.
Proposed fix
- description: 'Registry tag channel (latest, next, ...)'
+ description: 'Registry tag (latest, next, ...)'📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| description: 'Registry tag channel (latest, next, ...)' | |
| description: 'Registry tag (latest, next, ...)' |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/workflows/_publish-worker-skills.yml at line 11, Update the workflow
input description for the registry tag configuration to remove the obsolete
“channel” terminology and describe it simply as “Registry tag,” while retaining
the existing tag examples.
| | Bump | `patch` / `minor` / `major` | | ||
| | Registry tag | `latest` or `next` — channel for `iii worker add` resolution | |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Remove the stale Bump = none guidance or restore the option.
The table now exposes only patch / minor / major, but Lines 167–169 still tell operators to select Bump = none. That pre-bumped-manifest procedure can no longer be followed and should be rewritten for the reverted Create Tag inputs.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/sops/release.md` around lines 37 - 38, Update the release instructions
in docs/sops/release.md to resolve the mismatch between the Bump table and the
later “Bump = none” procedure: either restore “none” as a supported Bump value
or, preferably, remove and rewrite the stale pre-bumped-manifest steps around
the Create Tag inputs to use only the currently supported patch, minor, and
major options.
Reverts the release-channel / pre-release-suffix work. It shipped a second
distribution axis (
experimentalchannel, alpha releases cut from PRbranches) that the registry cannot resolve, and it left production in a bad
state:
image-resize@latestcurrently points at0.1.13-alpha.1.Replacement, in a follow-up PR: an
experimentalflag on Create Tag thatworks like the registry's
deprecated— a per-worker mark surfaced as abadge, not a channel installs have to resolve.
Reverted, newest first
.github/workflows/alpha-release.yml0cba488image-resizeback to0.1.13inCargo.toml/Cargo.locksuffixinput, theexperimentalchannel, the_lib.pypre-release helpers,manifest_version.py --suffix/--worker, andRELEASE_CHANNELSCreate Tag is back to
worker+bump+tag(latest|next)..github/scripts/tests/: 150 passed.Verified the tree matches the pre-#615 baseline: the only difference in
create-tag.ymlis theeditoroption added later by #623.Known consequences
parse_release_tag.pyno longer validatesregistry-tagagainst a closedset, so a typo in an annotated tag message passes silently again. Say the
word and I keep that check restricted to
latest|next.experimentalstay in the DB and go inert.image-resize@lateststill points at0.1.13-alpha.1in production, and the six remoteimage-resize/v0.1.13-alpha.*tags and their GitHub releases still exist.Summary by CodeRabbit
Release Process
latestandnext.Documentation
Bug Fixes
0.1.13.